/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once


#include "../../../缓存/顶点缓存/顶点缓存.h"
#include "../S_DX顶点数组.h"



struct S_DX顶点缓存 //: public S_顶点缓存
{

	S_DX顶点缓存();



	void	f_填充顶点(const std::vector<vec3>& v, void* ctx = 0) ;
	void	f_填充法线(const std::vector<vec3>& n, void* ctx = 0) ;
	void	f_填充颜色(const std::vector<ubvec4>& c, void* ctx = 0) ;
	void	f_填充索引(const std::vector<uint32>& index, void* ctx = 0) ;

	void	f_填充UV1(const std::vector<vec2>& uv1, void* ctx = 0) ;
	void	f_填充UV2(const std::vector<vec2>& uv2, void* ctx = 0) ;




	S_GUP内存映射	f_get顶点() ;
	S_GUP内存映射	f_get法线() ;
	S_GUP内存映射	f_get颜色() ;
	S_GUP内存映射	f_get索引() ;

	S_GUP内存映射	f_getUV1() ;
	S_GUP内存映射	f_getUV2() ;



	void			f_UpMap顶点();
	void			f_UpMap法线();
	void			f_UpMap颜色();
	void			f_UpMap索引();

	void			f_UpMapUV1();
	void			f_UpMapUV2();


};






